package com.codesuc.aichat.enums;

import lombok.Getter;

/**
 * @Description 异常错误编码枚举
 * @Author Mr.Zhang
 * @Date 2025/8/3 20:51
 * @Version 1.0
 */
@Getter
public enum CodeSucErrorEnum {

    /**
     * 通用
     */
    REQUIRED_PARAMETER_IS_EMPTY(100000, "必传参数为空"),
    DATABASE_OPERATION_FAILED(100001, "数据库操作失败， 请稍后重试"),
    UNAUTHORIZED_OPERATION(100002, "越权操作"),
    TRIGGER_CURRENT_LIMITING(100003, "触发限流，请稍后重试"),

    /**
     * 账号
     */
    ACCOUNT_REPEAT(250001, "账号已经存在"),
    ACCOUNT_UNREGISTER(250002, "账号不存在"),
    ACCOUNT_PWD_ERROR(250003, "账号或者密码错误"),
    ACCOUNT_UNLOGIN(250004, "账号未登录"),
    ACCOUNT_SUSPENDED(250005, "账号被封禁,请通过关于我页面联系CodeSuc"),
    ADMIN_CANNOT_CANCEL_OWN_ADMIN_ROLE(250006, "管理员不能取消自己的管理员身份"),

    /**
     * Coze 工作流
     */
    MESSAGE_INTERCEPTED(230001, "消息被官方拦截"),

    /**
     * AI 相关
     */
    NOT_FOUND_AI_SERVICE_CONFIGURATION(210001, "未找到 AI 服务配置"),
    TTS_SERVICE_ERROR(210002, "TTS 语音合成服务错误"),

    /**
     * 用户相关
     */
    USER_NOT_EXIST(180001, "用户不存在"),
    USERNAME_EXIST(1001, "用户名已存在"),
    EMAIL_EXIST(1002, "邮箱已存在"),
    USERNAME_PASSWORD_ERROR(1003, "用户名或密码错误");

    /**
     * 错误码
     */
    private int code;

    /**
     * 错误信息
     */
    private String message;

    CodeSucErrorEnum(int code, String message) {
        this.message = message;
        this.code = code;
    }
}